package com.fx.apps;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

import androidx.annotation.NonNull;

import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.kernal.smartvision.activity.SmartvisionCameraActivity;

/**
 * 暴露接口与数据交互
 */
public class ZCNativeModule extends ReactContextBaseJavaModule {

    //扫描识别请求码
    private final static int SCAN_REQUEST_CODE = 101;

    private Context mContext;

    public ZCNativeModule(ReactApplicationContext reactContext) {
        super(reactContext);
        mContext = reactContext;
    }

    @NonNull
    @Override
    public String getName() {
        return "ZCNativeModule"; // 返回的这个名字是必须的，是Native暴露给JS的名字
    }

    // 通过@ReactMethod注解来暴露接口，这样以来我们就可以在js文件中通过MyNativeModule.rnCallNative()来调用我们暴露给RN的接口了
    // 不能有返回值，因为被调用的原生代码是异步的，原生代码执行结束后只能通过回调函数或者发送消息给RN
    @ReactMethod
    public void rnCallNative(String msg) {
        new OCRModule().showOCR(mContext);
    }

    /**
     * 调用安卓原生页面
     */
    @ReactMethod
    public void startActivityByString(){
        try {
            ReactApplicationContext context = getReactApplicationContext();
            Activity activity = context.getCurrentActivity();
            if (activity != null) {
                Intent intent = new Intent(context, SmartvisionCameraActivity.class);  //PictureRecogActivity
//                intent.putExtra("file",fileUrl);
                activity.startActivityForResult(intent,SCAN_REQUEST_CODE);
            }
        } catch (Exception e) {
            Toast.makeText(mContext, "错误了", Toast.LENGTH_SHORT).show();
        }
    }

}
